1
ネームスペースから堅牢なモジュールシステムへ
AI020Lesson 6
00:00

初期のJavaScript開発において、 ネームスペース汚染 は大きな障害でした。関係のないコードが同じグローバル変数名を共有すると、予測できない衝突が発生します。現代的な設計は、構造のない姿勢から 隔離されたモジュールシステムへと移行しています。

1. 機能的隔離(即時実行関数式:IIFE)

コードを 即時実行関数式(IIFE) で囲むことで、プライベートスコープを作成できます。`names` のような変数は関数内に閉じ込められ、グローバル環境からはアクセスできません。 names は関数内に閉じ込められ、グローバル環境からはアクセスできません。

(function() {
var internal = "secret";
console.log(internal);
})();

2. オブジェクトベースのインターフェース

外部世界に機能を提供するために、モジュールはその 公開インターフェースとして機能するオブジェクトを返します。これにより、関連するメソッド(例: name および number

プライベートスコープ[names 配列]インターフェースname(), number()

3. エクスポートパターン

洗練されたバリエーションでは、 exports オブジェクトをIIFEに渡すことが含まれます。これにより、モジュールはそのAPIを特定のネームスペースターゲットに直接接続でき、モジュールの利用方法に柔軟性をもたらします。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>